package com.seadragon.app.ksr.dao;

import java.util.List;

import com.seadragon.app.ksr.model.Customer;
import com.seadragon.app.ksr.model.CustomerEventSubscription;
import com.seadragon.app.ksr.model.Event;

public interface CustomerEventSubscriptionDao {
	void save(CustomerEventSubscription customerEventSubscription);
	List<Customer> findAllSubscribers(Event event, int offset, int pageSize);
	List<CustomerEventSubscription> findAllSubscriptions(Customer customer, int offset, int pageSize);
	List<Customer> findAllSubscribers(Event event);
	List<CustomerEventSubscription> findAllSubscriptions(Customer customer);
	List<CustomerEventSubscription> findBy(Customer customer, Event event);
	/*
	 * todo:
	 * 1. get subscription by schedule (one subscription only contains one schedule??)
	 * 2. update
	 */
	
	void update(CustomerEventSubscription customerEventSubscription);
	
	void delete(CustomerEventSubscription customerEventSubscription);
	CustomerEventSubscription findById(long id);
}
